/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.its.Daos;

import Modelo.Membresiaasignada;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;

/**
 *
 * @author Grnmnd
 */
public class MembresiaasignadaDao {

    EntityManagerFactory emf = Persistence.createEntityManagerFactory("CopySystemsPU");// fabrica de emptitymanager
    EntityManager em = emf.createEntityManager();

    public void agregar(Membresiaasignada membresiaasignada) {
        em.getTransaction().begin();
        em.persist(membresiaasignada);// es como el insert
        em.getTransaction().commit();
    }

    public void editar(Membresiaasignada membresiaasignada) {
        em.getTransaction().begin();
        em.merge(membresiaasignada);// edita 
        em.getTransaction().commit();
    }

    public void eliminar(Membresiaasignada membresiaasignada) {
        em.getTransaction().begin();
        em.remove(em.merge(membresiaasignada));//elimina
        em.getTransaction().commit();
    }

    public List<Membresiaasignada> getTodo() {
        Query q = em.createNamedQuery("Membresiaasignada.findAll");
        return q.getResultList();
    }

    public Membresiaasignada getPorId(int id) {
        Query q = em.createNamedQuery("Membresiaasignada.findById");
        q.setParameter("id", id);
        if (q.getResultList().size() > 0) {
            return (Membresiaasignada) q.getResultList().get(0);
        } else {
            return null;
        }
    }

    public List<Membresiaasignada> getPorIdUsuario(String id_usuario) {
        Query q = em.createNamedQuery("Membresiaasignada.findByIdUsuario");
        q.setParameter("id_usuario", id_usuario + "%");
        return q.getResultList();
    }
}
